<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>single_nubot_gazebo: src/nubot_simulation/nubot_gazebo/plugins/nubot_teleop_keyboard.cc File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">single_nubot_gazebo
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_93262b1c7483f4ea8c70e946e7488dda.html">src</a></li><li class="navelem"><a class="el" href="dir_5c8239e7b7b2cf16536d22ea0622a6d7.html">nubot_simulation</a></li><li class="navelem"><a class="el" href="dir_199e0a8cbaaf0f78ee8cbae20dd0bf35.html">nubot_gazebo</a></li><li class="navelem"><a class="el" href="dir_50d0c6ed3c320c7a2ca9ede4b6ff1b42.html">plugins</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">nubot_teleop_keyboard.cc File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;signal.h&gt;</code><br/>
<code>#include &lt;termios.h&gt;</code><br/>
<code>#include &lt;iostream&gt;</code><br/>
<code>#include &quot;<a class="el" href="nubot__teleop__keyboard_8hh_source.html">nubot_teleop_keyboard.hh</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a35f69a612b07bbf1de53bbbd8d877c09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a35f69a612b07bbf1de53bbbd8d877c09">RUN</a>&#160;&#160;&#160;-1</td></tr>
<tr class="separator:a35f69a612b07bbf1de53bbbd8d877c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aade79338e8a13001ae5ed198e40dd844"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#aade79338e8a13001ae5ed198e40dd844">FLY</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:aade79338e8a13001ae5ed198e40dd844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad68e68f441f2dd17b96f695fa76c1c28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#ad68e68f441f2dd17b96f695fa76c1c28">KEYCODE_R</a>&#160;&#160;&#160;0x43</td></tr>
<tr class="separator:ad68e68f441f2dd17b96f695fa76c1c28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a100314cda229a11092e12ecedd53a85a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a100314cda229a11092e12ecedd53a85a">KEYCODE_L</a>&#160;&#160;&#160;0x44</td></tr>
<tr class="separator:a100314cda229a11092e12ecedd53a85a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af84143a30564f2bca0fbd7d7b6b4c253"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#af84143a30564f2bca0fbd7d7b6b4c253">KEYCODE_U</a>&#160;&#160;&#160;0x41</td></tr>
<tr class="separator:af84143a30564f2bca0fbd7d7b6b4c253"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0c998786dcada98bf809fea0b157603"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#af0c998786dcada98bf809fea0b157603">KEYCODE_D</a>&#160;&#160;&#160;0x42</td></tr>
<tr class="separator:af0c998786dcada98bf809fea0b157603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5663d439a634b5b62f17368a80bb4e76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a5663d439a634b5b62f17368a80bb4e76">KEYCODE_Z</a>&#160;&#160;&#160;0x7a</td></tr>
<tr class="separator:a5663d439a634b5b62f17368a80bb4e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad68c2a7bcf6375c5d17e4082bd0e9d32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#ad68c2a7bcf6375c5d17e4082bd0e9d32">KEYCODE_X</a>&#160;&#160;&#160;0x78</td></tr>
<tr class="separator:ad68c2a7bcf6375c5d17e4082bd0e9d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5790443f81bd04e800a3f62b718dc934"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a5790443f81bd04e800a3f62b718dc934">KEYCODE_RO</a>&#160;&#160;&#160;0x2c</td></tr>
<tr class="separator:a5790443f81bd04e800a3f62b718dc934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f8c1d36afd16de0e53458df55775c4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a8f8c1d36afd16de0e53458df55775c4d">KEYCODE_RR</a>&#160;&#160;&#160;0x2e</td></tr>
<tr class="separator:a8f8c1d36afd16de0e53458df55775c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acce4f5cd0e54294bde01a0ec949db5cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#acce4f5cd0e54294bde01a0ec949db5cd">KEYCODE_SP</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="separator:acce4f5cd0e54294bde01a0ec949db5cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7d66695dede78826ee578ddfc5a92aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#ab7d66695dede78826ee578ddfc5a92aa">VELOCITY</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ab7d66695dede78826ee578ddfc5a92aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8913b4bfc15703ad42ca91552a8d5796"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a8913b4bfc15703ad42ca91552a8d5796">OMEGA</a>&#160;&#160;&#160;1.0</td></tr>
<tr class="separator:a8913b4bfc15703ad42ca91552a8d5796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7505252e0d43e9d4cbddc8b428e27446"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a7505252e0d43e9d4cbddc8b428e27446">KICK_BALL_VEL</a>&#160;&#160;&#160;5.0</td></tr>
<tr class="separator:a7505252e0d43e9d4cbddc8b428e27446"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af9150b82e29a37ab848ee2f66e993793"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#af9150b82e29a37ab848ee2f66e993793">quit</a> (int sig)</td></tr>
<tr class="separator:af9150b82e29a37ab848ee2f66e993793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
<tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a886857c2b2af9d1ac9a0ad403685e160"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a886857c2b2af9d1ac9a0ad403685e160">kfd</a> = 0</td></tr>
<tr class="separator:a886857c2b2af9d1ac9a0ad403685e160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22578afdd6632157bdfb67a2b2033378"><td class="memItemLeft" align="right" valign="top">struct termios cooked&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#a22578afdd6632157bdfb67a2b2033378">raw</a></td></tr>
<tr class="separator:a22578afdd6632157bdfb67a2b2033378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad866931981756c1f4afca845d00670d9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nubot__teleop__keyboard_8cc.html#ad866931981756c1f4afca845d00670d9">robot_num</a></td></tr>
<tr class="separator:ad866931981756c1f4afca845d00670d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="aade79338e8a13001ae5ed198e40dd844"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FLY&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af0c998786dcada98bf809fea0b157603"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_D&#160;&#160;&#160;0x42</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a100314cda229a11092e12ecedd53a85a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_L&#160;&#160;&#160;0x44</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad68e68f441f2dd17b96f695fa76c1c28"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_R&#160;&#160;&#160;0x43</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5790443f81bd04e800a3f62b718dc934"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_RO&#160;&#160;&#160;0x2c</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8f8c1d36afd16de0e53458df55775c4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_RR&#160;&#160;&#160;0x2e</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acce4f5cd0e54294bde01a0ec949db5cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_SP&#160;&#160;&#160;0x20</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af84143a30564f2bca0fbd7d7b6b4c253"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_U&#160;&#160;&#160;0x41</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad68c2a7bcf6375c5d17e4082bd0e9d32"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_X&#160;&#160;&#160;0x78</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5663d439a634b5b62f17368a80bb4e76"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KEYCODE_Z&#160;&#160;&#160;0x7a</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7505252e0d43e9d4cbddc8b428e27446"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define KICK_BALL_VEL&#160;&#160;&#160;5.0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8913b4bfc15703ad42ca91552a8d5796"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OMEGA&#160;&#160;&#160;1.0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a35f69a612b07bbf1de53bbbd8d877c09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define RUN&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab7d66695dede78826ee578ddfc5a92aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VELOCITY&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af9150b82e29a37ab848ee2f66e993793"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void quit </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sig</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a886857c2b2af9d1ac9a0ad403685e160"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int kfd = 0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a22578afdd6632157bdfb67a2b2033378"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct termios cooked raw</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad866931981756c1f4afca845d00670d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string robot_num</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Jul 30 2016 00:26:42 for single_nubot_gazebo by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
